home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 1998 November / IRIX 6.5.2 Base Documentation November 1998.img / usr / share / catman / g_man / cat3 / OpenGL-GLC / glcrenderchar.z / glcrenderchar
Text File  |  1998-10-20  |  6KB  |  133 lines

  1.  
  2.  
  3.  
  4. ggggllllccccRRRReeeennnnddddeeeerrrrCCCChhhhaaaarrrr((((3333GGGG))))         OOOOppppeeeennnnGGGGLLLL CCCChhhhaaaarrrraaaacccctttteeeerrrr RRRReeeennnnddddeeeerrrreeeerrrr          ggggllllccccRRRReeeennnnddddeeeerrrrCCCChhhhaaaarrrr((((3333GGGG))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      ggggllllccccRRRReeeennnnddddeeeerrrrCCCChhhhaaaarrrr - render a character
  10.  
  11.  
  12. CCCC SSSSPPPPEEEECCCCIIIIFFFFIIIICCCCAAAATTTTIIIIOOOONNNN
  13.      void ggggllllccccRRRReeeennnnddddeeeerrrrCCCChhhhaaaarrrr( GLint _i_n_C_o_d_e )
  14.  
  15.  
  16. PPPPAAAARRRRAAAAMMMMEEEETTTTEEEERRRRSSSS
  17.      _i_n_C_o_d_e  Specifies the character to render.
  18.  
  19. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  20.      ggggllllccccRRRReeeennnnddddeeeerrrrCCCChhhhaaaarrrr renders the character that _i_n_C_o_d_e is mapped to.
  21.  
  22.      GLC finds a font that maps _i_n_C_o_d_e to a character such as LATIN CAPITAL
  23.      LETTER A, then uses one or more glyphs from the font to create a
  24.      graphical layout that represents the character. Finally, GLC issues a
  25.      sequence of GL commands to draw the layout. Glyph coordinates are defined
  26.      in em units and are transformed during rendering to produce the desired
  27.      mapping of the glyph shape into the GL window coordinate system.
  28.  
  29.      Except where otherwise specified, every character code used in GLC is an
  30.      element of the Universal Multiple-Octet Coded Character Set (UCS) defined
  31.      by the standards ISO/IEC 10646-1:1993 and Unicode 2.0. A UCS code is
  32.      denoted as U+hexcode, where hexcode is a sequence of hexadecimal digits.
  33.      Each UCS code corresponds to a character that has a unique name string.
  34.      For example, the code U+41 corresponds to the character LATIN CAPITAL
  35.      LETTER A.
  36.  
  37.      If ggggllllccccRRRReeeennnnddddeeeerrrrCCCChhhhaaaarrrr cannot find a font in the list GGGGLLLLCCCC____CCCCUUUURRRRRRRREEEENNNNTTTT____FFFFOOOONNNNTTTT____LLLLIIIISSSSTTTT
  38.      that maps _i_n_C_o_d_e, it attempts to produce an alternate rendering. If the
  39.      value of the boolean variable GGGGLLLLCCCC____AAAAUUUUTTTTOOOO____FFFFOOOONNNNTTTT is GGGGLLLL____TTTTRRRRUUUUEEEE, ggggllllccccRRRReeeennnnddddeeeerrrrCCCChhhhaaaarrrr
  40.      finds a font that has the character that maps iiiinnnnCCCCooooddddeeee, giving preference
  41.      to Courier and Helvetica. If the search succeeds, ggggllllccccRRRReeeennnnddddeeeerrrrCCCChhhhaaaarrrr appends
  42.      the font's ID to GGGGLLLLCCCC____CCCCUUUURRRRRRRREEEENNNNTTTT____FFFFOOOONNNNTTTT____LLLLIIIISSSSTTTT and renders the character.
  43.  
  44.      If there are fonts in the list GGGGLLLLCCCC____CCCCUUUURRRRRRRREEEENNNNTTTT____FFFFOOOONNNNTTTT____LLLLIIIISSSSTTTT, but a match for
  45.      _i_n_C_o_d_e cannot be found in any of those fonts, ggggllllccccRRRReeeennnnddddeeeerrrrCCCChhhhaaaarrrr goes through
  46.      these steps:
  47.  
  48.      1.   If the value of the variable GGGGLLLLCCCC____RRRREEEEPPPPLLLLAAAACCCCEEEEMMMMEEEENNNNTTTT____CCCCOOOODDDDEEEE is nonzero,
  49.           ggggllllccccRRRReeeennnnddddeeeerrrrCCCChhhhaaaarrrr finds a font that maps the replacement code, and
  50.           renders the character that the replacement code is mapped to.
  51.  
  52.      2.   If the variable GGGGLLLLCCCC____RRRREEEEPPPPLLLLAAAACCCCEEEEMMMMEEEENNNNTTTT____CCCCOOOODDDDEEEE is zero, or if the replacement
  53.           code does not result in a match, ggggllllccccRRRReeeennnnddddeeeerrrrCCCChhhhaaaarrrr checks whether a
  54.           callback function is defined.  If a callback function is defined for
  55.           GGGGLLLLCCCC____OOOOPPPP____ggggllllccccUUUUnnnnmmmmaaaappppppppeeeeddddCCCCooooddddeeee, ggggllllccccRRRReeeennnnddddeeeerrrrCCCChhhhaaaarrrr calls the function. The
  56.           callback function provides _i_n_C_o_d_e to the user and allows loading of
  57.           the appropriate font. After the callback returns, ggggllllccccRRRReeeennnnddddeeeerrrrCCCChhhhaaaarrrr
  58.           tries to render _i_n_C_o_d_e again.
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. ggggllllccccRRRReeeennnnddddeeeerrrrCCCChhhhaaaarrrr((((3333GGGG))))         OOOOppppeeeennnnGGGGLLLL CCCChhhhaaaarrrraaaacccctttteeeerrrr RRRReeeennnnddddeeeerrrreeeerrrr          ggggllllccccRRRReeeennnnddddeeeerrrrCCCChhhhaaaarrrr((((3333GGGG))))
  71.  
  72.  
  73.  
  74.      3.   If no match is found, nothing is rendered.
  75.  
  76. EEEERRRRRRRROOOORRRRSSSS
  77.      GGGGLLLLCCCC____SSSSTTTTAAAATTTTEEEE____EEEERRRRRRRROOOORRRR is generated if the issuing thread has no current GLC
  78.      context.
  79.  
  80. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  81.      ggggllllccccRRRReeeennnnddddeeeerrrrCCCCoooouuuunnnntttteeeeddddSSSSttttrrrriiiinnnngggg, ggggllllccccRRRReeeennnnddddeeeerrrrSSSSttttrrrriiiinnnngggg
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.